#!/usr/bin/env bash

app_command='timeshift-gtk'

if [ "$(id -u)" -eq 0 ]; then
	# user is admin
	${app_command}
else
	# user is not admin
	if echo $- | grep "i" >/dev/null 2>&1; then
		# script is running in interactive mode
		su - -c "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY ${app_command}"
	else
		# script is running in non-interactive mode
		if [ "$XDG_SESSION_TYPE" = "wayland" ] ; then
			xhost +SI:localuser:root
			pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY ${app_command}
			xhost -SI:localuser:root
			xhost
		elif command -v pkexec >/dev/null 2>&1; then
			pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY ${app_command}
		elif command -v sudo >/dev/null 2>&1; then
			x-terminal-emulator -e "sudo ${app_command}"
		elif command -v su >/dev/null 2>&1; then
			x-terminal-emulator -e "su - -c '${app_command}'"
		else
			x-terminal-emulator -e "echo 'Command must be run as root user: ${app_command}'"
		fi
	fi
fi
